package com.his.service;

import com.github.pagehelper.PageInfo;
import com.his.common.PageParam;
import com.his.common.Rsp;
import com.his.entity.Medicinal;

import java.util.List;

/**
 * (Medicinal)表服务接口
 *
 * @author makejava
 * @since 2020-10-24 11:11:26
 */
public interface MedicinalService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Medicinal queryById(Integer id);

    /**
     * 查询所有通过实体类属性
     *
     * @param medicinal 实例对象
     * @return 查询的结果
     */
    List<Medicinal> queryAll(Medicinal medicinal);

    PageInfo<Medicinal> queryAll(PageParam<Medicinal> pageParam);

    /**
     * 新增数据
     *
     * @param medicinal 实例对象
     * @return 实例对象
     */
    Medicinal insert(Medicinal medicinal);

    /**
     * 修改数据
     *
     * @param medicinal 实例对象
     * @return 实例对象
     */
    Medicinal update(Medicinal medicinal);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    //id逻辑删除
    boolean deleteByIdLogic(Integer id);

    //上架商品
    Integer shelfMedicinal(Medicinal medicinal);

    //根据类别查所有药品
    Rsp selectMedicinalBySuperId(Integer id);
}
